<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 
 * Class ApplyFriend
 *
 * @since 2.0
 *
 * @Entity(table="apply_friend")
 */
class ApplyFriend extends Model
{
    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $id;

    /**
     * 
     *
     * @Column(name="user_id", prop="userId")
     *
     * @var int
     */
    private $userId;

    /**
     * 
     *
     * @Column(name="apply_id", prop="applyId")
     *
     * @var int
     */
    private $applyId;

    /**
     * 0: friend apply
1: team apply
     *
     * @Column()
     *
     * @var int|null
     */
    private $type;

    /**
     * 
     *
     * @Column()
     *
     * @var string|null
     */
    private $msg;

    /**
     * 0: wait verify
1: agree
2: refulse
     *
     * @Column()
     *
     * @var int|null
     */
    private $state;

    /**
     * 
     *
     * @Column(name="re_msg", prop="reMsg")
     *
     * @var string|null
     */
    private $reMsg;


    /**
     * @param int $id
     *
     * @return void
     */
    public function setId(int $id): void
    {
        $this->id = $id;
    }

    /**
     * @param int $userId
     *
     * @return void
     */
    public function setUserId(int $userId): void
    {
        $this->userId = $userId;
    }

    /**
     * @param int $applyId
     *
     * @return void
     */
    public function setApplyId(int $applyId): void
    {
        $this->applyId = $applyId;
    }

    /**
     * @param int|null $type
     *
     * @return void
     */
    public function setType(?int $type): void
    {
        $this->type = $type;
    }

    /**
     * @param string|null $msg
     *
     * @return void
     */
    public function setMsg(?string $msg): void
    {
        $this->msg = $msg;
    }

    /**
     * @param int|null $state
     *
     * @return void
     */
    public function setState(?int $state): void
    {
        $this->state = $state;
    }

    /**
     * @param string|null $reMsg
     *
     * @return void
     */
    public function setReMsg(?string $reMsg): void
    {
        $this->reMsg = $reMsg;
    }

    /**
     * @return int
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return int
     */
    public function getUserId(): ?int
    {
        return $this->userId;
    }

    /**
     * @return int
     */
    public function getApplyId(): ?int
    {
        return $this->applyId;
    }

    /**
     * @return int|null
     */
    public function getType(): ?int
    {
        return $this->type;
    }

    /**
     * @return string|null
     */
    public function getMsg(): ?string
    {
        return $this->msg;
    }

    /**
     * @return int|null
     */
    public function getState(): ?int
    {
        return $this->state;
    }

    /**
     * @return string|null
     */
    public function getReMsg(): ?string
    {
        return $this->reMsg;
    }

}
